#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"


unsigned char KeyNum;
unsigned int Password,Count;//
void main()
{
	LCD_Init();//初始化
	LCD_ShowString(1,1,"Password:");
	while(1)
	{
			KeyNum=MatrixKey();
		if(KeyNum)//如果没有判断 下一次检测到时候立马会刷新为0
			{
				if(KeyNum<=10)//密码区s1-s10分别代表1234567890
				{
					if(Count<4)//计次，输入次数大于4，大于4的部分无效
					{
						Password*=10;//左移一位
						Password+=KeyNum%10;//1-9对10取余还是它本身，10对10取余为0
						Count++;
					}
					LCD_ShowNum(2,1,Password,4);//更新显示
				}
					if(KeyNum==11)//s11表示确认
						{
							if(Password==1008)
							{
								LCD_ShowString(1,10,"OK   ");//如果正确显示ok
								Password=0;
								Count=0;
								LCD_ShowNum(2,1,Password,4);
								
							}
							else
							{
								LCD_ShowString(1,10,"error");//错误显示error
								Password=0;
								Count=0;
								LCD_ShowNum(2,1,Password,4);
							}
							
						}
					if(KeyNum==12) //定义s12为取消键
					{
						Password=0;
						Count=0;
						LCD_ShowNum(2,1,Password,4);
					
					
					
					}
					
			}
	}

}